การปรับแต่งในสภาพแวดล้อมของ HIP ต้องถือว่าเป็น วิชาชีพที่มีหลักฐานเชิงประจักษ์อย่างเข้มงวด มากกว่าการคาดเดาแบบสัญชาตญาณ โดยการใช้กระบวนการที่เป็นระบบ นักพัฒนาจะยืนยันได้ว่าการเปลี่ยนแปลงโค้ดทุกครั้งได้รับการสนับสนุนจากข้อมูล ซึ่งทำให้การปรับแต่งประสิทธิภาพไม่ใช่เพียงความเชื่อโชคลาง แต่กลายเป็นวงจรทางวิทยาศาสตร์ที่สามารถทำซ้ำได้ คือ การตั้งสมมติฐานและตรวจสอบผลอย่างมีเหตุผล
ลำดับงาน 6 ขั้นตอน
แนวทางการปรับแต่งประสิทธิภาพของ HIP แนะนำลำดับขั้นตอนที่เป็นระบบดังนี้:
- วัดระดับพื้นฐาน (Baseline): กำหนดเวลาการทำงานปัจจุบันและอัตราการประมวลผล
- วิเคราะห์โปรแกรม: ใช้
rocprofv3เพื่อเก็บข้อมูลตัวบ่งชี้ฮาร์ดแวร์ - ระบุจุดติดขัด (Bottleneck): ตรวจสอบว่าคุณอยู่ในสถานะที่จำกัดด้วยหน่วยประมวลผล (compute), หน่วยความจำ (memory) หรือความหน่วง (latency)
- นำการปรับแต่งเฉพาะเจาะจงมาใช้: เน้นเฉพาะจุดติดขัดที่ระบุแล้วเท่านั้น
- วัดใหม่อีกครั้ง: ยืนยันว่าการเปลี่ยนแปลงนั้นส่งผลให้ประสิทธิภาพดีขึ้นจริงหรือไม่
- ทำซ้ำ: ทำซ้ำกระบวนการจนกว่าจะบรรลุเป้าหมาย
หลีกเลี่ยงความเชื่อโชคลางในการปรับแต่ง
ผลลัพธ์ด้านประสิทธิภาพควรเป็นผลลัพธ์ที่สามารถทำซ้ำได้จากการโต้ตอบกับฮาร์ดแวร์เฉพาะเจาะจง ควรหลีกเลี่ยงสิ่งเหล่านี้ รูปแบบที่ผิดปกติ:
- การเปลี่ยนแปลงโค้ดเคอร์เนลก่อนทำการวัดประสิทธิภาพปัจจุบัน
- การปรับขนาดบล็อกโดยไม่ทราบว่าเคอร์เนลถูกจำกัดด้วยหน่วยความจำหรือไม่
- พยายามเพิ่มจำนวนการใช้งาน (occupancy) โดยไม่มีหลักฐานว่าสิ่งนี้สำคัญต่อภาระงานเฉพาะนั้น
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>